package negocio;

import java.util.ArrayList;

import org.junit.internal.matchers.IsCollectionContaining;

public class Usuario 

{
	private ArrayList<Curso> cursosPermitidos;
	private String dni;
	private String nombre;
	private String apellido;
	private int telefono;
	private String mail;
	private String nickname;
	private String contrasenia;
	private String perfil;
	
	private String estado;
	
	public Usuario(String dni, String nombre, String apellido, int telefono, String mail, String nickname, String contrasenia, String perfil)
	{
		this.setDni(dni);
		this.setNombre(nombre);
		this.setApellido(apellido);
		this.setTelefono(telefono);
		this.setMail(mail);
		this.setNickname(nickname);
		this.setContrasenia(contrasenia);
		this.setPerfil(perfil);
		
	}
	
	public ArrayList<Curso> getCursosPermitidos() {
		return cursosPermitidos;
	}

	public void setCursosPermitidos(ArrayList<Curso> cursosPermitidos) {
		this.cursosPermitidos = cursosPermitidos;
	}
	
	@Override
	public String toString()
	{
		return this.getNombre()+ " " + this.getApellido();
	}
	
	  @Override
      public boolean equals(Object otro)
      {
              if(otro instanceof Usuario==false)
              {
                      return false;
              }
              
              return this.getDni().equals(((Usuario) otro).getDni());
      }

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public int getTelefono() {
		return telefono;
	}

	public void setTelefono(int telefono) {
		this.telefono = telefono;
	}

	public String getMail() {
		return mail;
	}

	public void setMail(String mail) {
		this.mail = mail;
	}

	public String getContrasenia() {
		return contrasenia;
	}

	public void setContrasenia(String contrasenia) {
		this.contrasenia = contrasenia;
	}

	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getPerfil() {
		return perfil;
	}

	public void setPerfil(String perfil) {
		this.perfil = perfil;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}
	
	public boolean InstructorHabilitadoClase(ArrayList<Clase> clasesCreadas)
	{
		ArrayList<Clase> clasesExistentes=ClaseControlador.getClasesPorInstructor(this);
		for(Clase c:clasesCreadas)
		{
			for(Clase k:clasesExistentes)
			{
				if(c.getFecha().equals(k.getFecha())&&c.compartenHora(k))
					return false;
			}
		}
		return true;
	}
	
	
	
	
	
}
